<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>Document</title>
  <!-- React核心包 最先引入 提供一个对象React -->
  <script src="../00.依赖包/react.development.js"></script>
  <!-- React操作Dom包  提供了一个对象 ReactDOM-->
  <script src="../00.依赖包/react-dom.development.js"></script>
  <!-- 引入Babel包,用来解析JSX语法为js语法 -->
  <script src="../00.依赖包/babel.min.js"></script>
  <style>
  </style>
</head>

<body>
  <div id="app"></div>
  <!-- <button id="btn">点击按钮更新NB!</button> -->
  <!-- 如果需要babel对当前的script内部的jsx进行编译，则需要设置script标签的type属性-->
  <script type="text/babel">
    //组件实列有一个state属性(对象),当state属性发生改变的时候,组件会重现render得到一个新的虚拟DOM
    //然后开始diff算法，并重新渲染
    class Content extends React.Component{
      state={
        cont:'NB!',
        isHot:true
      }
      //这个render方法是原型对象上的方法
      render(){
        console.log('render',this); //这里的this指向实例化对象
        //解构赋值 因为state是实例的属性 这里的this指向实列
        const{cont}=this.state
        return(
          <div>
            <h1>{cont}</h1>
          </div>
        )
      }
    }

    const root = ReactDOM.createRoot(document.getElementById('app'))
    root.render(<Content/>)
    //在render渲染中会 如果组件是类式组件 则会自动实列
  </script>
</body>

</html>